[SQL Server]一个简单的问题?

来源:百度知道 编辑:UC知道 时间:2024/06/14 18:43:01
ms sql server 2005
Table1 如下:
姓名 等级
张三 甲
张三 乙
.
.
.
编写SQL语句,实现如下效果:
姓名 等级
张三 甲乙丙...

应当如何编写?
菜鸟求教,请高手不吝赐教!
谢谢!

备注:2005中能够编写函数 存储并调用吗?

我这里有个例子,和你类似
有表A,
id pid
1 1
1 2
1 3
2 1
2 2
3 1
如何化成表B:
id pid
1 1,2,3
2 1,2
3 1

创建一个合并的函数
create function fmerg(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+rtrim(pid) from 合并数据 where id=@id
set @str=right(@str,len(@str)-1)
return(@str)
End
go

--调用自定义函数得到结果
select distinct id,dbo.fmerg(id) pid from 合并数据

新建查询:

INSERT Table1 (name,grade)
SELECT '张三','甲' UNION
SELECT '李四','乙' UNION
SELECT '王五','甲'

-----------------------------------
2005中能够编写函数 存储并调用吗?这个我不大懂啥意思了,呵呵。
你是说VISUAL STUDIO 2005么?
那可以用SQL语句调用数据库数据
比如:
string sql=string.Format('INSERT Table1 (name,grade) VALUES '王五','甲');

最好在SQL下测试语句通过了再复制过来。